Digital video streams are typically encoded using one of many different encoding standards. For example, a digital video stream may be compressed into a data format that requires fewer bits. This compression can be lossless so that the original video stream can be recreated upon decoding, or it can be lossy so that an exact replica of the original video stream cannot be recreated, but where the decoding of the compressed data will be more efficient.
There are currently a large number of video encoding standards, and new standards are frequently emerging. Examples of current video encoding standards include JPEG (Joint Photographic Experts Group), MPEG (Moving Pictures Experts Group), MPEG-2, MPEG-3, MPEG-4, H.263, H.263+, H.264, and proprietary standards such as Real Video and Windows Media. In order to fully realize the benefits of digital video, a user requires access to decoders that are capable of decoding all common encoding standards.
Currently, a hardware implemented IDCT processor is used to facilitate the requirement of speed. However, the hardware implemented IDCT processor can only perform processes of one standard. Hence the processor cannot employ other commonly used standards and has a poor portability. Another attempt was made to overcome these problems by constructing an IDCT processor that adapts different video standards through a Central Processing Unit (CPU) or other generic microprocessor on chip. The microprocessor is able to perform IDCT of different video standards; however, the performance is slow and consumes too much power.
Therefore, what is needed is an IDCT processor that is able to process different video standards and also meets processing speed requirements.